package com.ruoyi.health.mapper;

import java.util.List;
import com.ruoyi.health.domain.BmService;
import org.apache.ibatis.annotations.Param;

/**
 * 便民服务Mapper接口
 * 
 * @author dalian
 * @date 2023-08-06
 */
public interface BmServiceMapper 
{
    /**
     * 查询便民服务
     * 
     * @param id 便民服务主键
     * @return 便民服务
     */
    public BmService selectBmServiceById(Long id);

    /**
     * 查询便民服务列表
     *
     * @return 便民服务集合
     */
    // public List<BmService> selectBmServiceList(BmService bmService);
    public List<BmService> selectBmServiceList(@Param("itemName") String itemName,
                                               @Param("staffNumMin") Long staffNumMin,
                                               @Param("staffNumMax") Long staffNumMax,
                                               @Param("sinceMin") Long sinceMin,
                                               @Param("sinceMax") Long sinceMax,
                                               @Param("serviceItemId") Long serviceItemId,
                                               @Param("typeId") Long typeId,
                                               @Param("list") List<Long> bmServiceIds
                                               );

    /**
     * 新增便民服务
     * 
     * @param bmService 便民服务
     * @return 结果
     */
    public int insertBmService(BmService bmService);

    /**
     * 修改便民服务
     * 
     * @param bmService 便民服务
     * @return 结果
     */
    public int updateBmService(BmService bmService);

    /**
     * 删除便民服务
     * 
     * @param id 便民服务主键
     * @return 结果
     */
    public int deleteBmServiceById(Long id);

    /**
     * 批量删除便民服务
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBmServiceByIds(Long[] ids);

    /**
     * 根据 区域id（一级、二级、三级）查询该区域中的服务id
     * @param s1r
     * @param s2r
     * @param s3r
     * @return
     */
    List<Long> selectServiceIdByServiceRegion(@Param("s1r") Long s1r,
                                              @Param("s2r") Long s2r,
                                              @Param("s3r") Long s3r);



}
